Spring Boot Jasypt Kullanımı: application.properties Şifreleme Rehberi (2026)

Spring Boot Jasypt entegrasyonu ile application.properties şifreleme işlemini güvenli ve pratik şekilde yapabilirsiniz. Bu rehberde Jasypt nedir, nasıl kurulur, Spring Boot ile nasıl entegre edilir ve production ortamında hangi güvenlik best practice’leri uygulanmalıdır adım adım öğreneceksiniz.

Kısa Özet: Jasypt, Spring Boot projelerinde veritabanı şifreleri, API anahtarları ve hassas konfigürasyon değerlerini şifrelemek için kullanılan güçlü bir Java kütüphanesidir.
Spring Boot Jasypt encryption ile application.properties şifreleme

Jasypt Nedir? Ne İşe Yarar?

Jasypt (Java Simplified Encryption), Java uygulamalarında şifreleme (encryption) ve şifre çözme (decryption) işlemlerini basitleştiren bir kütüphanedir. Özellikle Spring Boot Jasypt starter sayesinde uygulama konfigürasyon dosyalarındaki hassas bilgileri güvenli şekilde koruyabilirsiniz.

  • Veritabanı şifrelerini gizler
  • API key ve secret bilgilerini korur
  • application.properties içeriğini güvenli hale getirir
  • Production ortamında güvenlik seviyesini artırır

Spring Boot Projesine Jasypt Entegrasyonu

1️⃣ Maven Bağımlılığı


<dependency>
  <groupId>com.github.ulisesbocchio</groupId>
  <artifactId>jasypt-spring-boot-starter</artifactId>
  <version>3.0.4</version>
</dependency>
    

Bu bağımlılık ile Spring Boot, şifreli property değerlerini otomatik olarak çözebilir.


Jasypt ile Şifreleme Nasıl Yapılır?

Jasypt ile şifreleme iki farklı yöntemle yapılabilir:

1️⃣ CLI (Komut Satırı) ile Şifreleme


java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI \
input="my_secret_password" \
password=masterKey \
algorithm=PBEWithHMACSHA512AndAES_256
    

⚠️ Not: Modern projelerde PBEWithMD5AndDES yerine AES tabanlı algoritmalar tercih edilmelidir.

2️⃣ Online Tool ile Şifreleme

Alternatif olarak Jasypt CLI aracı veya online şifreleme araçları kullanılabilir. Ancak production ortamı için CLI önerilir.


application.properties İçinde Kullanımı

Şifrelenmiş değeri şu şekilde kullanabilirsiniz:


spring.datasource.password=ENC(encrypted_value_here)
    

Uygulama başlatılırken master şifre environment variable olarak verilmelidir:


mvn -Djasypt.encryptor.password=masterKey spring-boot:run
    

Production ortamında bu değeri environment variable olarak tanımlamanız önerilir.


@EnableEncryptableProperties Kullanımı


@EnableEncryptableProperties
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
    

Bu anotasyon sayesinde Spring Boot, ENC() ile işaretlenmiş değerleri otomatik olarak çözer.


Production Güvenlik Best Practices (2026)

  • Master key kod içine yazılmamalıdır.
  • Environment variable veya secrets manager kullanılmalıdır.
  • AES-256 algoritması tercih edilmelidir.
  • Vault (HashiCorp) gibi secret management çözümleri değerlendirilmelidir.
  • CI/CD pipeline içinde master key saklanmamalıdır.

Jasypt Performans Etkisi Var mı?

Jasypt yalnızca uygulama başlangıcında property çözümü yaptığı için runtime performansa ciddi bir etkisi yoktur. Ancak yüksek güvenlikli algoritmalar CPU maliyetini artırabilir.


Sonuç

Spring Boot Jasypt kullanımı, modern backend projelerinde güvenlik standartlarını yükseltmek için etkili ve pratik bir çözümdür. Özellikle hassas verilerin bulunduğu sistemlerde property şifreleme zorunlu hale gelmiştir.

Spring Boot güvenliği hakkında daha fazla bilgi için Spring Security rehberine göz atabilirsiniz.

Etiketler: spring boot jasypt, application.properties encryption, jasypt nedir, spring boot security, java encryption

© 2026 Latest Software Developers

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Spring Boot ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *